SHELL = /bin/sh

.PHONY: all clean testy

all:klient serwer testy
testy: wysylacz odbieracz test1 test2 test3
%.o:%.c
	$(CC) -c -std=c99 -o $@ $<
klient:klient.o protokol.o crc32.o ssl.o
	$(CC) -std=c99 -lssl -o $@ $^
serwer:serwer.o protokol.o katalogi.o ssl.o komunikator.o crc32.o
	$(CC) -std=c99 -lssl -pthread -o $@ $^
test1: test1.o protokol.o crc32.o
	$(CC) -std=c99 -o $@ $^
test2: test2.o protokol.o crc32.o
	$(CC) -std=c99 -o $@ $^
test3: test3.o katalogi.o
	$(CC) -std=c99 -o $@ $^
wysylacz: wysylacz.o protokol.o crc32.o
	$(CC) -std=c99 -o $@ $^
komunikator: komunikator.o ssl.o
	$(CC) -std=c99 -lssl -o $@ $^
odbieracz: odbieracz.o protokol.o crc32.o
	$(CC) -std=c99 -o $@ $^
ssl:ssl.o protokol.o
	$(CC) -std=c99 -lssl -o $@ $^
wysylacz.o: wysylacz.c protokol.h
odbieracz.o: odbieracz.c protokol.h
test1.o: test1.c protokol.h
test2.o: test2.c protokol.h
test3.o: test3.c katalogi.h
crc32.o: crc32.c crc32.h definicje.h
katalogi.o: katalogi.c definicje.h katalogi.h protokol.h
klient.o: klient.c definicje.h protokol.h adres.h
komunikator.o: komunikator.c komunikator.h definicje.h ssl.h
protokol.o: protokol.c protokol.h definicje.h crc32.h
serwer.o: serwer.c definicje.h komunikator.h ssl.h
sesja.o: sesja.c sesja.h definicje.h
ssl.o: ssl.c ssl.h definicje.h protokol.h

clean:
	-rm -f *.o klient serwer wysylacz odbieracz test1 test2 test3
